from django.db import models

# Create your models here.

class User(models.Model):
    username = models.CharField(max_length=20)
    password = models.CharField(max_length=100)

class UserExtension(models.Model):
    birthday = models.DateTimeField(null=True)
    school   = models.CharField(blank=True, max_length=500)
    user     = models.OneToOneField("User",on_delete=models.CASCADE)

#一个user可以有多个文章，一个标签对应多个文章,一个文章对应多个标签
class Article(models.Model):
    title   = models.CharField(max_length=100)
    content = models.TextField()
    pub_time = models.DateTimeField(auto_now_add=True,null=True)
    ##  author 外键 级联删除 related_name: 反向获取 一对多 多这一端的名字
    author = models.ForeignKey('User',on_delete=models.CASCADE,related_name='article111')
    tags = models.ManyToManyField('Tag',related_name="article")

class Tag(models.Model):
    name = models.CharField(max_length=100)

## 评论 二级评论依靠一级评论  自己依靠自己的主键 主键一旦删除 所有的评论都删除了
## title__contains="chat" 是一个 查询过滤器，它用于对数据库中的 title 字段进行模糊匹配查询。
## 具体来说，它是使用 Django 提供的 双下划线语法
class Comment(models.Model):
    content = models.TextField()
    origin_comment = models.ForeignKey('self',on_delete=models.CASCADE,null=True)